#!/usr/bin/env node

const http = require('http'),
      qs   = require('querystring');
      
let items=[];

function genPage(){
  let dom = items.map(i => '<li>'+i+'</li>').join('\n');
  let html =`
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>ToDo List</title>
    </head>
    <body>
      <h1>ToDo List</h1>
      <form method='POST' actinon='http://192.168.59.144:8080'>
        <input type="text", name='item'>
        <input type="submit", value='submit'>
      </form>
      <ul>
        ${dom}
      </ul>
    </body>
    </html>
  `;

  return html;
}

http.createServer((req,res) => {

  if(req.url !== '/'){
    res.statusCode = 404;
    res.setHeader('Content-Type','text/html');
    res.end('<h1>Not Found!</h1>');
    return;
  }
  let data = '';
  req.on('data', chunk => data += chunk);
  req.on('end', () => {
    let item = qs.parse(data).item;
    if(item !== '' && typeof item !== 'undefined'){
     items.push(item);
    }
    res.writeHead(200,{
      'Content-Type':'text/html',
      'Content-Length':Buffer.byteLength(genPage())
    });

    res.end(genPage());
  });
}).listen(8080);

